热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

个体都会学习的JavaScript之DOM树

篇首语:本文由编程笔记#小编为大家整理,主要介绍了JavaScript之DOM树相关的知识,希望对你有一定的参考价值。目录

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Javascript之DOM树相关的知识,希望对你有一定的参考价值。


目录

一 API

二 什么是DOM树

三 DOM接口

四 总结




在了解DOM树之前,你首先要了解什么是API


一 API

1 什么是API

API基于编程语言构建的结构,是一些预定义的函数,它抽象了复杂的代码,使开发人员能更轻松的完成某种想要的功能。

2 API能做什么?

(1) 常见浏览器API:

操作文档API

操作文档的API内置于浏览器中。最明显的就是DOM(文档对象模型)API,它允许操作html、CSS,创建、删除、修改HTML,动态地将新样式应用到所制作的页面当中。再或者使页面中弹出的窗口等都是DOM

从服务器获取数据的API

用于绘制和操作图形的API等等

(2) 常见的第三方API

The Twitter API

The Google Maps API

(3)说白了,API就类似于Bootstrap框架等一众框架,已经给你写好了用途,你只要学习如何使用这些写好了的东西,就可以了


二 什么是DOM树

1 此刻先摆上定义:

文档对象模型(Document Object Model,简称DOM),是W3C组织推荐处理可扩展标记语言(HTML或者XML)的标准编程接口。

W3C已经定义了一系列的DOM接口,通过这些DOM接口可以改变网页的内容、结构、样式。

说到这里,你也许只能看懂这一大串文字的最后一小句的一小部分吧。哦,DOM是用来改变网页的内容、结构、样式的。

那到底什么是标准编程接口?什么是DOM呢?

2 什么是DOM

文档对象模型(DOM)是HTML和XML文档的编程接口。它使得整个文档得以结构化的表现,并且定义了一种方式可以使从程序中对该结构进行访问,并且改变文档的结构、样式和内容。DOM将文档解析为一个由节点和对象(包含属性和方法的对象)组成的结构集合。

简言之,它将web页面和脚本或者程序语言连接起来

注意所有操作和创建的web页面的属性、方法和事件都会被组织成对象的形式

3 DOM和Javascript

(1)两者的关系:是两个独立的个体,但是Javascript可以访问和操作存储在DOM中的内容,也可以近似写成一个等式:

API(web或XML页面) = DOM+ JS(脚本语言)

(2)第一条中我说过两个是独立的个体,就说明两者不具有必定的捆绑关系,只是通过JS可以访问DOM树而已,因此例如Python也可以访问DOM

3 我对DOM的理解

DOM:


三 DOM接口

通过DOM接口可以访问到DOM中的一个个小节点,并且可以通过接口提供的许多属性和方法供节点使用

 

DOM中常用的核心接口以及关系阐述

上文提到接口会有对应的属性以及方法,不同接口也存在这不同的层级关系,因此接口也有方法和属性的继承,详细图标如下:

EventTarget<----- Node<-----Element<-----Document

1 Node接口&#xff1a;

Node&#xff0c;各种类型的DOM API对象会从这个接口继承。其允许我们用相似的方式对待这些不同类型的对象。eg&#xff1a;继承同一组方法&#xff0c;或者用同样的方式测试。

一下接口都从Node继承其方法和属性&#xff1a;

Dcument&#xff0c;Element&#xff0c;EventTarget等

2 Document接口&#xff1a;

Document接口表示任何在浏览器中载入的网页&#xff0c;并作为网页内容的入口&#xff0c;也就是DOM树。

3 Element接口&#xff1a;

Element是一个通用性非常强的基类&#xff0c;所有的Document对象下的对象都继承自它。

4EventTarget接口&#xff1a;

EventTarget接口由可以接收事件并且可以创建侦听器的对象实现。

Element以及子项、document和window是最常见的事件目标


四 总结

API是老大&#xff0c;是基于多种编程语言构建&#xff0c;是抽象了复杂的代码&#xff0c;帮助开发人员轻松实现各种功能的工具。API之下又分了很多小类&#xff0c;其中一项就是DOM API&#xff0c;它可以通过JS访问网页元素。同时DOM API提供了许多接口&#xff0c;接口又带有许多方法和属性&#xff0c;供修改网页的样式、内容和结构。

编写不易&#xff0c;如果对您有帮助&#xff0c;希望可以得到您的点赞支持。


推荐阅读
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 在使用 MUI 框架进行应用开发时,开发者常常会遇到 mui.init() 和 mui.plusReady() 这两个方法。本文将详细解释它们的区别及其在不同开发环境下的应用。 ... [详细]
  • 本文介绍了多个关于JavaScript的书籍资源、实用工具和编程实例,涵盖从入门到进阶的各个阶段,帮助读者全面提升JavaScript编程能力。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 如何高效创建和使用字体图标
    在Web和移动开发中,为什么选择字体图标?主要原因是其卓越的性能,可以显著减少HTTP请求并优化页面加载速度。本文详细介绍了从设计到应用的字体图标制作流程,并提供了专业建议。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 精选15款免费扁平化界面设计资源
    高质量的网页和移动元素是任何Web或移动项目的基础。优秀的UI设计组件不仅能够提升用户体验,还能显著缩短设计师的工作时间,帮助他们快速创建出引人注目的作品。本文将分享一系列免费的扁平化设计素材。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
author-avatar
灬毋黑色灬_447
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有